uniVerse RDBMS


Table of Contents


Overview

VMARK Software, Inc. announces the availability of Release 8.3.3 of uniVerse for UNIX. Release 8.3.3 continues VMARKÆs on-going commitment to enhancing and improving uniVerse.

A key facet of Release 8.3.3 is the addition of programmatic access to uniVerse SQL features, both from within BASIC programs, as well as via a standards-based application programming interface known as the uniVerse Call Interface, or UCI. uniVerse is the only UNIX relational database management system (RDBMS) available which fully supports ANSI SQL transaction isolation levels. Release 8.3.3 adds to this leadership position by introducing support for nested transactions, a uniVerse exclusive. This release also delivers additional performance improvements in the database engine and adds support for database-level application partitioning for distributed applications.

uniVerse continues to support a wide range of application architectures. uV/BASIC supports server-based, character-mode applications utilizing async terminals. The addition of an open API to uniVerse supports client/server-based application development for uniVerse with database-independent tools including Visual Basic, Visual C++, PowerBuilder, UnifAce, etc., as well as VMARKÆs Object Studio. Current uniVerse users can evolve to client/server computing while retaining their current database functionality and applications.

An important part of Release 8.3.3 is the availability of the HyperSTAR 3.0 server. The HyperSTAR 3.0 server for uniVerse provides direct, high-performance ODBC driver access to the uniVerse SQL engine using the uniVerse Call Interface.


BACK TO TOP

uniVerse Features, Functions, and Benefits

FeatureFunctionBenefit
Operating system friendly architectureNo monitor process, smaller resource requirement and uses native OS file systemBetter performance, less resource intensive and more resillient
Aggressive SQL SupportCompliant with ANSI 89 standard Level 1, with integrity enhancements and with several extensions from the ANSI SQL 2 (1992) standard, plus NF2 supportRemoves the barrier to third party development tools enabling uniVerse to be used as a more price/performant RDBMS alternative. Ensures complete interoperability
Durability featuresuniVerse implements the ANSI SQL 2 concept of isolation levels (1-4). Enhanced Transaction Logging and Warm-start recovery.Protects valuable information by ensuring consistent logical transactions inside an application and also prevents corruption caused by system panics and power failure
Distributed processingFlexible split of the application load between client and serverOptimize the use of client and server. Scaleable solutions
Nested TransactionsuniVerse Stored Procedures can initiate any transaction operation from within an active transaction or use transactional applications as building blocksEnables the concept of true component-based re-usable engineering with uniVerse Stored Procedures. This is uniques amongst RDBMS database engines
Support for "document-centric" application developmentUse of the efficient storage features of NF2 data modeling to build real-world business objectsImproved performance, better flexibility and more intuitive construction of business applications

uniVerse RDBMS for Business Applications

Since its launch in 1985 the uniVerse RDBMS has been an ideal platform for successful line-of-business applications. The extent of its success is some 1300+ business solutions available from VMARKÆs Value Added Resellers (VARÆs). The reason for its adoption is the relative ease of application development, low administrative maintenance, broad platform support and industry standard interfaces.

Also, there are many uniVerse customers that have concurrent user counts of several hundred and in some cases even thousands of users on a single UNIX platform. This level of resource efficiency, performance and scaleability is virtually unobtainable with traditional relational database technology. Until recently uniVerse has always been a pure UNIX product with seamless portability across all hardware platforms. Today the same portability extends to Windows NT.

uniVerse Benefits

The uniVerse RDBMS is a true relational database with a more interesting database engine that allows the developer to model more complex data structures. It has a unique record structure that models real-world business objects or relational entities in a single table. This feature reduces the number of physical tables and the amount of duplicated data. Also, the traditional tasks of the Database Administrator (DBA) in monitoring, re-configuring and maintaining the database can virtually be eliminated.

uniVerse Benefits

From top to bottom, uniVerse has an OS friendly architecture that naturally scales on SMP hardware architectures without intervention. It gains performance and added reliability by using the native host file system, and by the use of nested tables which effectively pre-joins tables for optimal use.

As members of the SQL Access Group (SAG) and the Object Management Group (OMG) VMARK is committed to supporting standards. It also endorses many other de-facto standards such as OLE and ODBC. In future releases of uniVerse, there will be support for Internationalization through the use of the Unicode standard.


BACK TO TOP

Application vs. Database Perspective: The Dilemma

In building an application, the developer works conceptually with higher level, real-world, complex data structures. Unfortunately, the developer has the frustration of working at a simplified lower level for data storage/retrieval due to the limitations of traditional RDBMS offerings.

Relational Database Theory

When E.F. Codd produced the 12 rules for relational technology he envisaged a working logical model. It contained defined behavior that once implemented overcame the inadequacies of the previous database technology, e.g., network & hierarchical file systems.

There is one thing that is most commonly overlooked; nowhere did Codd mandate that the underlying data storage/retrieval mechanism should strictly follow the physical tabular model. In reality, the physical implementation is relevant, and by following this approach many vendors have eliminated the possibility of using more advanced storage/retrieval technology.

Also, while an excellent general purpose model, the relational database model does not deal well with complex real-world data structures or arrays. This was obviously one of the attractive features about the file system approach that previously dominated corporate MIS, as it could cope with complex data structures with inherent relationships.

By any objective measure, uniVerse is completely consistent at a theoretical level with Codds approach (it currently complies with 11 of the 12 rules), and for all practical purposes meets the academic view of what a commercially available RDBMS should be. Moreover, it has been shown that current RDBMS technology is deficient in the implementation of the storage/retrieval technology, this is especially noticeably in the support of real-world data structures.

Application Perspective

When an application is designed it is usually as the result of a business process analysis/re-engineering that seeks to emulate/improve the workflow of the organization. The physical manifestation of the workflow is the artifacts, working documents, or business objects; for example, accounting ledgers, asset registers and bill of materialÆs statements. This new application will have either replaced a paper based or computerized system.

If an application is going to be readily adopted by a customer the user interface must mirror a tangible, real world business process or document, as this will ensure faster comprehension and acceptability. From the developerÆs perspective, it is a more logical level to work at, as the ability to manipulate business objects at a higher level of abstraction, simplifies the application construction process.

An issue arises when these natural business objects have to be stored/retrieved from a tabular relational database. Unfortunately this means that the developer has the task of composing and de-composing these objects when the database is accessed. The obvious penalty for using this approach is the degradation in performance.

What is required is for these business objects to remain in their complex form, effectively persisting beyond the application into the database, without the intervention of the developer.

Object Mapping and the RDBMS

Take, for example, a Purchase Order to a supplier as our "business object." It contains the following information: suppliers name, their address, contact details, a PO number, the orderÆs line items and delivery address. This is a typical workflow artefact. The order line items are several and will contain product codes, product descriptions, unit quantities, unit pricing and total pricing.

We know that this document has several natural relationships implicit in its construction. For example: the Order itself has a one-to-many relationship with the Order_Items information. The Order_Items information cannot exist without the Order. Traditional RDBMSÆs have to create two logical entities and two physical tables to model this data structure, Order and Order_Items. Additionally, before Declarative Referential Integrity (RI) was widely implemented either the application itself or database triggers were responsible for preserving the relationships and data integrity.

Object Mapping and uniVerse

Here is how the uniVerse RDBMS handles the same Purchase Order.


BACK TO TOP

Client/Server Support

One of the key components in any database product is its ability to provide the necessary infrastructure and interfaces to support industry-standard development and reporting tools. It is generally accepted that the database of choice should be capable of providing both UNIX and Windows client interfaces accessible over the TCP/IP protocol.

Furthermore, it should provide an open SQL access method as well as a native database mode. Also, the interface should be available in a form that is instinctive to the tool using it; for example any OLE-2 enabled development tool such as Visual Basic 4.0 should use an OCX like uniVerse Objects; any ODBC orientated reporting tool such as CognosÆ Impromptu should use an ODBC driver like HyperSTAR, and finally for development tools such as UnifAce that employ their own distributed database middleware or even our own HyperSTAR server for uniVerse, an UNIX call level interface like the UCI is required.

uniVerse is unique amongst databases in providing a flexible, transactionalized Application Logic Engine on the server. This increases the use of business logic, reduces network traffic and provides a more reliable and consistent database function. This is accessible from the Windows client through uniVerse Objects, via the uniVerse Objects Interface (UOI) server. In summary, for SQL orientated access use either UCI or HyperSTAR ODBC. For native uniVerse record-based access and support of existing application logic / stored procedure use the uniVerse Objects interface.

Development Interfaces

uniVerse supports a wide range of application architectures. uniVerse BASIC supports server-based, character-mode applications utilizing async terminals via a terminal server. In this application architecture, presentation logic, application logic or business rules, and data management logic all execute on the server.

uniVerse also supports client/server application architectures, where presentation logic, application logic, and data management logic are distributed between the client and server machines, which are connected by a network. These development interfaces may be used to develop sophisticated client/server applications, even including partitioning, where presentation logic resides on the client, and application logic and data management are distributed between client and server.

Development Interface Features, Functions, and Benefits

FeatureFunctionBenefit
UCIProvides standardsûbased ODBC interface to uniVerse for client/server development toolsFully exploits the capabilities of uniVerse from standard 1NF tools
SQL Client InterfaceIntrinsic ODBC programmatic interface in BASIC for access of both local and networked uniVerse serversAbility to create seamless, re-usable routines for connectivity to Oracle, Sybase, Informix when used in-conjunction with the SQL Client Extender
uniVerse ObjectsSupports object-based client/server application developmentExploit capabilities of standard Windows tools. Access to other components for a value added solution
InterCALL and ICIæCÆ call level interface for low level accessProvides backward compatibility for existing applications
HyperSTAR ODBCStandard SQL access methodSeamless data integration with office productivity tools such as Excel, Word, etc.

Language Interfaces

uniVerse supports an Application Logic environment that uses a highly database aware, transactionalized and flexible form of BASIC. The BASIC language is also the foundation for Microsoft's Office products and its Visual Basic development tool. IBM has also implemented it in DB2 for the construction of their stored procedures.

In uniVerse, it can be used to create powerful, complex, nested and functionally rich application logic that is portable between uniVerse servers on any platform. It also features support for ODBC primitives that can be used to access uniVerse servers, either locally or remotely, or non-uniVerse servers such as Oracle. These procedures can be stored in memory as single segments of code for global re-use by all database users. This approach reduces memory usage and speeds up the execution of business logic.

Although developers tend to use client/server-based tools in conjunction with uniVerse BASIC and SQL for new application development, uniVerse supports, primarily for compatibility and historical reasons, other procedural languages and an intuitive English-like query language called RetrieVe.

Interoperability

uniVerse Call Interface (UCI)

Tools vendors interface

Optionally installable product

The uniVerse Call Interface (UCI) is a æCÆ language-compatible SQL API that is available on all uniVerse platforms. The UCI is analogous to OracleÆs OCI or SybaseÆs CT/ DB-Library interfaces, but unlike these proprietary APIÆs, UCI is based on the ODBC 2.0 core-level API standard.

The purpose of UCI is to provide a high-performance, standardsûbased interface to uniVerse for developers and 3rd party tools vendors such as UnifAce, FortΘ, etc. The HyperSTAR 3.0 server for uniVerse will also use this interface.

UCI uses the uniVerse RPC mechanism, permitting UNIX æCÆ language applications direct access to the uniVerse database, for both local and networked uniVerse servers, via the uniVerse SQL engine and information catalog.

The UCI uses the database engineÆs "dynamic normalization" to provide external first-normal-form (1NF) clients the ability to reference the uniVerse database through a virtual schema consisting of 1NF tables. Actions applied against this schema are automatically mapped into actions upon the physical schema by the uniVerse SQL engine. UCI also supports native uniVerse non-first-normal-form (NF2) mode.

Interoperability

SQL Client Interface


SQL Client Extender

uniVerse BASICÆs SQL Client Interface provides intrinsic access to the uniVerse database environment (for both local and networked uniVerse servers) without a requirement for any additional software. The SQL Client Interface consists of additional uniVerse BASIC statements compatible syntactically with ODBC.

The language interface is the same as the one provided by the optional SQL Client Extender (formally known as uV/SQL Client Option) which provides connectivity to non-uniVerse databases. The SQL Client Extender is a layered product and is separately priced.

ODBC Access

MicrosoftÆs Open Database Connectivity (ODBC) is an industry standard for enabling open, diverse database access. Many desktop productivity applications such as Microsoft Excel have been "data-enabled" through ODBC.

HyperSTAR ODBC is an optional product, which comprises ODBC client software installed on any 16 or 32 bit Windows client, and server software installed with uniVerse Release 8.3.3 or later only.

Products such as Excel and Access require a relational or tabular view of the data coming from any database, which is not the most efficient way of using or storing the data. The uniVerse database automatically unnests or explodes NF2 data into a tabular form required by these tools. This process is called "dynamic normalization". Therefore, you can use PC applications that use ODBC for database connectivity with uniVerse for UNIX, without losing the performance and flexibility advantages of the NF2 data model.


BACK TO TOP

The Database Server

SQL Support

ANSI SQL 1989 Level 1


NF2 Support

VMARK knew it had a special database engine and the only way to provide a full intrinsic SQL support was to work within the standards and extend them where necessary using established thinking.

From our own research, the work of industry leading authors and the SQL Access Group (SAG), VMARK was able to design and implement a true standards compliant solution. uniVerse SQL support includes:

In order to provide the unique NF2 support there are natural extensions to the SQL grammar and a process called dynamic normalization. When requested this performs the necessary re-presentation of nested information that would typically appear from two separate database entities. Alternatively, the grammar provides a method for native manipulation of NF2 tables using the WHEN clause.

As members of the SQL Access Group (SAG) and the Object Management Group (OMG), VMARK will be looking forward to the forthcoming ANSI SQL 3 standard. This will provide a specification that incorporates object technology as well as further SQL functionality, all of which uniVerse is ideally placed to exploit.

SQL Data Integrity & Security

Data Integrity

Security

Data Integrity


Security

Transaction Management

Transaction support


Warm Start Recovery
Checkpointing

Transaction support:


Warm-start Recovery and Checkpointing:

Network Support - uV/Net

As already explained uniVerse tables can dynamically re-size themselves. They can also individually grow beyond the limits imposed by the UNIX Operating System (OS) using horizontal table partitioning technology.

Tables can exist on the same server in partitioned table segments and/or out in remote offices. The data distribution is flexible and uses a simple hashing algorithm to define the automatic data distribution scheme. By using this mechanism it ensures high performance database usage by eliminating resource inefficient full table scans. A similarly architectured system has been introduced by Sybase in their Navigation Server technology.

uniVerse has intrinsic support for horizontal table partitioning but, if one or many of the segments mandates the use of another machine then the uniVerse layered product uV/Net is used. Based upon DCE RPC protocols utilizing TCP/IP, it provides the necessary remote database links with full data concurrency between participating servers. For uniVerseÆs procedural language it provides the ability for remote dispatch and execution of stored procedures and queries on remote servers thereby minimizing network traffic and boosting query performance.

Performance and Scaleability

An advantageous architecture:

True for both UNIX and Windows NT

Traditional databases subsume the traditional job of the operating system namely, scheduling, memory management and I/O. Using a monitorûbased approach can expose the company to single point of failure and possible bottle necks in database performance.

Each uniVerse user runs their own private copy of the database engine as a separate process or unit of work. As operating systems such as UNIX and Windows NT are orientated towards scheduling processes and threads, uniVerse does not try to emulate them. uniVerse users are themselves processes/threads that naturally receive the correct attention and resource allocation by the operating system without the database intervening. For this reason uniVerse naturally scales on SMP hardware architectures. Another area for gaining performance and added reliability is that uniVerse uses the native host file system instead of raw disk partitions. Therefore anything the OS can provide to speed up the file system, or that it can add to enhance its reliability can be automatically utilized by uniVerse without prior configuration. In summary with all these features it leads to performance and scaleability.

uniVerse also offers these same advantages on MicrosoftÆs Windows NT. It comprehensively supports the various Windows NT supported processors namely; Intel, Digital Alpha, MIPS R4x00 and PowerPC (shortly).


BACK TO TOP